package cn.juque.systemservice.service;

import cn.juque.common.base.BaseOperator;
import cn.juque.common.base.PageInfo;
import cn.juque.systemservice.entity.SmsLog;

import java.util.List;

/**
 * @author JUQUE
 * @version 1.0.0
 * <li>simple-generator</li>
 * <li></li>
 * @date 2021-09-30 14:39:45
 **/
public interface ISmsLogService {

    /**
     * 分页查询
     *
     * @param pageInfo pageInfo
     * @param smsLog   smsLog
     * @return DataGrid<SmsLog>
     */
    List<SmsLog> listLogWithPage(PageInfo pageInfo, SmsLog smsLog);

    /**
     * 保存
     *
     * @param tel            手机号
     * @param content        短信内容，如果存在占位符{}, 则拼接验证码
     * @param codeNum        验证码长度
     * @param validateSecond 有效时长
     * @param operator       操作信息
     * @return SmsLog
     */
    SmsLog saveLog(String tel, String content, Integer codeNum, Long validateSecond, BaseOperator operator);

    /**
     * 校验验证码
     *
     * @param tel  手机号
     * @param code 验证码
     * @return true=成功
     */
    Boolean checkCode(String tel, String code);

}
